#!/bin/sh

# Slackware build script for rtl-wifi

# Copyright 2008 Christophe Nguyen <cnguyenminhtan@free.fr>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Modified by Robby Workman <rworkman@slackbuilds.org> to support
# building modules for something other than the running kernel.

PRGNAM=rtl-wifi
VERSION=20080622
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

KERNEL=${KERNEL:-$(uname -r)}
PKG_VERSION=${VERSION}_$(echo $KERNEL | tr - _)

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R a-s,u+w,go+r-w .

# Apply patch to make it compile with kernel 2.6.24
patch -p1 < $CWD/patch_2_6_24.diff || exit 1

make KVER=$KERNEL

install -D -m 0644 $TMP/$PRGNAM-$VERSION/ieee80211/ieee80211_crypt-rtl.ko \
  $PKG/lib/modules/$KERNEL/kernel/net/ieee80211/ieee80211_crypt-rtl.ko
install -D -m 0644 $TMP/$PRGNAM-$VERSION/ieee80211/ieee80211_crypt_wep-rtl.ko \
  $PKG/lib/modules/$KERNEL/kernel/net/ieee80211/ieee80211_crypt_wep-rtl.ko
install -D -m 0644 $TMP/$PRGNAM-$VERSION/ieee80211/ieee80211_crypt_tkip-rtl.ko \
  $PKG/lib/modules/$KERNEL/kernel/net/ieee80211/ieee80211_crypt_tkip-rtl.ko
install -D -m 0644 $TMP/$PRGNAM-$VERSION/ieee80211/ieee80211_crypt_ccmp-rtl.ko \
  $PKG/lib/modules/$KERNEL/kernel/net/ieee80211/ieee80211_crypt_ccmp-rtl.ko
install -D -m 0644 $TMP/$PRGNAM-$VERSION/ieee80211/ieee80211-rtl.ko \
  $PKG/lib/modules/$KERNEL/kernel/net/ieee80211/ieee80211-rtl.ko
install -D -m 0644 $TMP/$PRGNAM-$VERSION/rtl818x-newstack/r8180.ko \
  $PKG/lib/modules/$KERNEL/kernel/drivers/net/wireless/r8180.ko

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/{ieee80211,rtl{8187,818x}-newstack}
cp -a ChangeLog $PKG/usr/doc/$PRGNAM-$VERSION/
cp -a ieee80211/{LICENSE,README} $PKG/usr/doc/$PRGNAM-$VERSION/ieee80211
for i in AUTHORS CHANGES COPYING INSTALL LICENSE \
 README README.adhoc README.master ; do
  cp -a rtl818x-newstack/$i $PKG/usr/doc/$PRGNAM-$VERSION/rtl818x-newstack ;
done
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
find $PKG/usr/doc -type f -exec chmod 0644 {} \;

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz
